package com.jiandian.service;

import com.jiandian.crudparams.qo.SignPrizeLogQo;
import com.jiandian.crudparams.vo.OnlineSignPrizeLogVo;
import com.jiandian.entity.SignPrizeLog;
import com.jiandian.entity.SignUser;
import com.jiandian.page.PageInfo;

import java.util.List;

/**
 * 抽奖日志
 *
 * @author houqi Fu
 */
public interface SignPrizeLogService {

    SignPrizeLog add(SignPrizeLog record);

    SignPrizeLog update(SignPrizeLog record);

    SignPrizeLog findById(Long id);

    List<SignPrizeLog> findAll(PageInfo pageInfo);

    int selectCount(PageInfo pageInfo);

    int batchInsert(List<SignPrizeLog> list);

    List<SignPrizeLog> batchQueryByIds(List<Long> ids);

    int delete(Long id);

    int delete(SignPrizeLog record);

    int batchDeleteById(List<Long> ids);
    PageInfo getPage(SignPrizeLogQo whereEntity, PageInfo pageInfo);

    boolean checkAllowGetsSupplement(SignUser signUser);

    /**
     * 消费最先获得的补签卡
     */
    void consumeSupplement(int userId, int limit);


    List<OnlineSignPrizeLogVo> selectByMinId(Long minId);
}
